The invention relates to an adaptive filter.
Adaptive filtering can advantageously be used to restore digital signals subjected to interference, particularly if the interference is caused by crosstalk or by a transmission channel whose channel characteristics are unknown or affected by a timing error.
A simple adaptive filter algorithm is the known LMS algorithm, which requires 2N multipliers for an N stage filter structure. However, each of these multipliers must be sufficiently accurate to ensure the requisite stability. The known LMS algorithm can be realized by software or by a combination of software and hardware filter structures. In the case of a real-time hardware realization, however, there is the disadvantage of the high outlay on circuitry, which is too cost-intensive for some applications.
The invention is based on the object of specifying a hardware realization of an adaptive filter which has the requisite stability in conjunction with a reduction in the outlay on hardware.
According to the invention, an adaptive filter is realized by modification of the LMS algorithm. This saves a large part of the multipliers in such a way that the coefficient adaptation is suppressed and a coefficient register is preferably divided into two sub-areas, in order to reduce the bit width of the filter multipliers.
An adaptive filter is described mathematically by:       y    ⁡          (      n      )        =            ∑              i        =        0                    N        -        1              ⁢          xe2x80x83        ⁢                  bi        ⁡                  (          n          )                    *                        x          ⁡                      (                          n              -              i                        )                          .            
When the adaptive filter according to the invention is used for lower frequency components, it is preferable to take only every second sample, according to:       y    ⁡          (      n      )        =            ∑              i        =        0                    N        -        1              ⁢          xe2x80x83        ⁢                            b          i                ⁡                  (          n          )                    *              x        ⁡                  (                      n            -                          2              *              i                                )                    
where n=cycle index, x(n) and y(n) are the input and output samples, and
bi(n),i=0,1, . . . Nxe2x88x921 are the filter coefficients of the cycle n.
The LMS algorithm for the adaptation of the coefficients is calculated according to:
bi(n)=bi(nxe2x88x921)+xcexc*e(nxe2x88x921)*x(nxe2x88x92ixe2x88x921), i=0,1, . . . , Nxe2x88x921
where
e(n):=d(n)xe2x88x92y(n)
where d(n) is the so-called desired output and m is the adaptation constant. It is evident that an LMS-adaptive filter requires two multipliers, one for the filtering and one for the coefficient adaptation, for each coefficient digit position, called tap below.
The adaptation xcexc*e(nxe2x88x921)*x(nxe2x88x92ixe2x88x921) should be small enough to guarantee the stability of the adaptation procedure, that is to say to obtain a sufficient accuracy of the coefficients bi(n),i=0,1 . . . Nxe2x88x921.
The inventive modification of LMS algorithm reads as follows:
bi(n)=bi(nxe2x88x921)+e(nxe2x88x921)*x(nxe2x88x92ixe2x88x921)*2xe2x88x92(kxe2x88x9212), i=0,1,2, . . . ,14,
where
e(n):=SIGN(d(n)xe2x88x92y(n)),
and       SIGN    ⁡          (      ξ      )        :=      {                                                      -              1                        ,                                                ξ             less than             0                                                0                                      ξ            =            0                                                1                                      ξ             greater than             0                              
and k=0,1,2,3 is the user option, which can be designated as the adaptation constant.
For each tap, only one multiplier for the filtering is used. The adaptation requires a register with a sufficient length of e.g. 18 bits in order to achieve the requisite accuracy for the stability of the adapted LMS algorithm.
In order further to reduce the outlay on hardware, only a number of MSBs, the coefficient bits, preferably 8 bits of the register, are taken as filter coefficients and used for the multiplication.
In a further refinement of the invention, the 8 bits of the register are fed to an evaluation circuit which, depending on the value of the 8 bits, performs windowing in order to achieve a further reduction to e.g. 5 bits. The evaluation circuit preferably eliminates leading equivalent bits by a shift function and clips a number of LSBs. This reduced value is used for the further calculation. The result of the evaluation circuit, preferably a 2-bit value, is used in a further, downstream shift function in order to recover the correct value.
The effect advantageously achieved by the inventive adaptation of the LMS algorithm is that only one multiplier is required for each tap register. It is advantageous that, by virtue of the separate utilization of the tap registers for the adaptation and the filter multiplications, only a small bit width is required for the multipliers, without the accuracy and the requisite stability for the adaptation process being impaired. The use of the window moving technique according to the invention achieves a further reduction in the necessary bit width for the multipliers. As a result, it is no longer necessary to take account of the dynamic range of the coefficient values when selecting the multiplier bit width.